Skip to main content

Beginner

What you need to know​

To develop decentralized applications on Ethereum or other blockchains, you will need some fundamental skills. You may already have some of these skills. If so, that's great! If you are here though, at least some of this is likely new to you. Here are the essentials of what you need to know.

How the Blockchain Works​

You will need to have a basic understanding of how the blockchain works. What is a private and public key? What is a block and how is it validated? What even is a blockchain. There are some great materials out there for you and we have gathered some of the best below. If books are your thing, you'll probably want to start with "Mastering Bitcoin." This will give you some interesting history and teach you everything you need to know about Bitcoin.

You can then follow this up with "Mastering Ethereum". As a Dapp developer specifically, you will need to know about smart contracts and the EVM. This will not only teach you about Ethereum but also many of the concepts you will need for developing on other chains.

Solidity​

The "backend" of your decentralized applications will be smart contracts that are deployed onto a blockchain. While there are a few other languages that are being experimented with or are in limited use, Solidity is the go-to language for developing on Ethereum and EVM compatible blockchains. In the training section of this dev-path, there are some excellent tutorials to get you started. Cryptozombies in particular is one of the best introductions to Solidity basics out there.

You don't have to be an expert in Solidity to begin writing smart contracts. In fact, without putting practice in, you'll never become an expert! So get some of the basics under your belt and start coding.

Basic Web Dev Skills​

While the blockchain can function as your backend, you will need to provide users of your app with a way to interact with your contracts. Python and Javascript are the two primary scripting languages used currently for Dapp development. Excellent libraries have been developed for both which allow interaction with the blockchain. You will also need to know some HTML and CSS to build the UI for your Dapp.

This is a little outside the context of this guide. Luckily there are many resources out there to help you learn. Our partner community, Dev.to, is full of amazing resources and a great community as well. If you have a little knowledge already, or want to learn as you go, many of the tutorials linked in our training section also provide some practice with frontend languages.

The above may not seem like much, but it is all you need to join the revolution in web development that is Web3. Once you've gotten some basic experience with the above and built a few simple decentralized applications of your own, you'll be ready to move on to our intermediate and advanced blockchain developer guides.